home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / comm / mail / Mutt089src.lha / Mutt-0.89i-AMIGA / src / rx / rxunfa.h < prev   
C/C++ Source or Header  |  1998-01-28  |  2KB  |  71 lines

  1. #ifndef RXUNFAH
  2. #define RXUNFAH
  3.  
  4. /*    Copyright (C) 1995, 1996 Tom Lord
  5.  * 
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU Library General Public License as published by
  8.  * the Free Software Foundation; either version 2, or (at your option)
  9.  * any later version.
  10.  * 
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU Library General Public License for more details.
  15.  * 
  16.  * You should have received a copy of the GNU Library General Public License
  17.  * along with this software; see the file COPYING.  If not, write to
  18.  * the Free Software Foundation, 59 Temple Place - Suite 330, 
  19.  * Boston, MA 02111-1307, USA. 
  20.  */
  21.  
  22.  
  23.  
  24. #include "_rx.h"
  25.  
  26.  
  27. struct rx_unfaniverse 
  28. {
  29.   int delay;
  30.   int delayed;
  31.   struct rx_hash table;
  32.   struct rx_cached_rexp * free_queue;
  33. };
  34.  
  35.  
  36. struct rx_unfa
  37. {
  38.   int refs;
  39.   struct rexp_node * exp;
  40.   struct rx * nfa;
  41.   int cset_size;
  42.   struct rx_unfaniverse * verse;
  43. };
  44.  
  45. struct rx_cached_rexp
  46. {
  47.   struct rx_unfa unfa;
  48.   struct rx_cached_rexp * next;
  49.   struct rx_cached_rexp * prev;
  50.   struct rx_hash_item * hash_item;
  51. };
  52.  
  53.  
  54.  
  55. #ifdef __STDC__
  56. extern struct rx_unfaniverse * rx_make_unfaniverse (int delay);
  57. extern void rx_free_unfaniverse (struct rx_unfaniverse * it);
  58. extern struct rx_unfa * rx_unfa (struct rx_unfaniverse * unfaniverse, struct rexp_node * exp, int cset_size);
  59. extern void rx_free_unfa (struct rx_unfa * unfa);
  60. extern void rx_save_unfa (struct rx_unfa * unfa);
  61.  
  62. #else /* STDC */
  63. extern struct rx_unfaniverse * rx_make_unfaniverse ();
  64. extern void rx_free_unfaniverse ();
  65. extern struct rx_unfa * rx_unfa ();
  66. extern void rx_free_unfa ();
  67. extern void rx_save_unfa ();
  68.  
  69. #endif /* STDC */
  70. #endif  /* RXUNFAH */
  71.